<?php

/**
 * controler para almacenes
 *
 * @author jreyes
 */



require 'class/im/fam/DP/ImClasificacionDP.class.php';
require 'class/im/fam/FN/ImClasificacionFN.class.php';
require 'class/frm/ClasificacionFrm.php';

class ClasificacionController extends ControllerBase
{
	
	public function listarClasificacion(){
		
		$o_ImClasificacionFN= new ImClasificacionFN();       
		
		$page = isset($this->requestVars['page']) ? $this->requestVars['page'] : 1;
		$rp = isset($this->requestVars['rp']) ? $this->requestVars['rp'] : 10;
		$sortname = isset($this->requestVars['sortname']) ? $this->requestVars['sortname'] : 'name';
		$sortorder = isset($this->requestVars['sortorder']) ? $this->requestVars['sortorder'] : 'desc';		
		$o_ImClasificacionFN->page = $page;
		$o_ImClasificacionFN->tamPag = $rp;
		$o_ImClasificacionFN->sortCampos = $sortname;
		$o_ImClasificacionFN->sortType   = $sortorder;
        if ($this->requestVars){
            if (array_key_exists('clasificacionId', $this->requestVars)) {
                $o_ImArticuloFN->setClasificId($this->requestVars["clasificacion"]) ;   
            }
            if (array_key_exists('descripcion', $this->requestVars)) {
                $o_ImArticuloFN->setDescripcion($this->requestVars["descripcion"]);  
            }      
            if (array_key_exists('activo', $this->requestVars)) {
                $o_ImArticuloFN->setActivo($this->requestVars["activo"]);  
            }                     
        }
        $result = $o_ImClasificacionFN->select();     
        $vars['result'] = $result;
        $vars['clasificacionFN'] = $o_ImClasificacionFN;
        if (array_key_exists('modoBusqueda', $this->requestVars)) {
            $vars['modoBusqueda'] = $this->requestVars["modoBusqueda"];
        }else{
            $vars['modoBusqueda'] = "";
        }
        $this->view->show("im/fam/ClasificacionLista",$vars);
		
	}
	
    public function listarClasificacionForm(){
		if (!isset($vars)){
			$vars = '';
		}        
        $this->view->show("im/fam/ClasificacionListaForm",$vars);
    }
    
    public function shw(){
    	$this->shwForm("view");
    }
    
    public function shwForm($view=""){
		$ClasificacionFrm 		= new ClasificacionFrm();
        $vars             		= array();
		$o_ImClasificacionFN	= new ImClasificacionFN();  
		$a_referencia			= $o_ImClasificacionFN->select();		
        $ClasificacionFrm->lista_referencia = $a_referencia;       
        if ($this->requestVars){
            if (array_key_exists('clasificacionId', $this->requestVars)) {
                if ($this->requestVars["clasificacionId"]){
                    $o_ImClasificacionFN= new ImClasificacionFN();       
                    $o_ImClasificacionFN->setClasificacionId($this->requestVars["clasificacionId"]);
                    $o_ClasificacionBN = $o_ImClasificacionFN->selectByPK();
                    if ($o_ClasificacionBN){
                        $ClasificacionFrm->clasificacionId  = $o_ClasificacionBN->getClasificId();
                        $ClasificacionFrm->descripcion      = $o_ClasificacionBN->getDescripcion();
                        $ClasificacionFrm->referencia 		= $o_ClasificacionBN->getReferencia();
                        $ClasificacionFrm->activo    		= $o_ClasificacionBN->activo();
                    }
                }
            }
        }         
        $vars['ClasificacionFrm'] = $ClasificacionFrm;
        if (!isset($view) || $view==""){
        	$this->view->show("im/fam/Clasificacion",$vars);
        }else{
        	$this->view->show("im/fam/ClasificacionView",$vars);
        }
    }

     public function registrarClasificacion(){
         if ($this->requestVars){
            $o_ImClasificacionDP  = new ImClasificacionDP();                     
            $o_ImClasificacionDP->setClasificId($this->requestVars["clasificacionId"])  ;     
            $o_ImClasificacionDP->setDescripcion($this->requestVars["descripcion"]);
            $o_ImClasificacionDP->setReferencia($this->requestVars["referencia"]);
            $o_ImClasificacionDP->setActivo($this->requestVars["activo"]);
            if ($this->requestVars["clasificacionId"]){
                $o_ImClasificacionFN= new ImClasificacionFN();       
                $o_ImClasificacionFN->setClasificId($this->requestVars["clasificacionId"]);
                $o_ClasificacionBN = $o_ImClasificacionFN->selectByPK();
                if ($o_ClasificacionBN){                	                	
                    $almacenId = $this->requestVars["clasificacionId"];  
                    if ($o_ImClasificacionDP->update()){
                       $_SESSION['msgAlert'] = "Clasificacion registrada";
                    }else{
                       $_SESSION['msgAlert'] = "Error al registrar";
                    }				
                }else{
                    $clasificacionId = $o_ImClasificacionDP->save();
                    if ($clasificacionId){
                       $_SESSION['msgAlert'] = "Clasificacion registrada";
                    }else{
                       $_SESSION['msgAlert'] = "Error al registrar";
                    }
                }			
            }               
         }
     } 
     public function eliminarClasificacion(){
         if ($this->requestVars){
         	if (array_key_exists('clasificacionId', $this->requestVars)) {
         		$o_ImClasificacionDP  = new ImClasificacionDP();
                $o_ImClasificacionFN  = new ImClasificacionFN();       
                $o_ImClasificacionFN->setClasificId($this->requestVars["clasificacionId"]);
                $o_ClasificacionBN = $o_ImClasificacionFN->selectByPK();
                if ($o_ClasificacionBN){       
                	// tamb validar articulos relacionados a esta clasificacion         	                	
                    if ($o_ImClasificacionDP->delete()){
                       $_SESSION['msgAlert'] = "Clasificacion eliminada";
                    }else{
                       $_SESSION['msgAlert'] = "Error al registrar";
                    }
                }            	
         	}
         }     	
     }
}
?>